Since their inception, digital applications have evolved from calculations to data processing in the area of control. In recent years, with the development of the so-called "minicomputers", applications, particularly in the control area have greatly increased. Minicomputers today are at the heart of many systems since they are more flexible, can be easily personalized to a particular application, can be more readily changed or updated in such logic design systems, and most significantly, the cost of such computers is less than the cost of the large general purpose digital computer. Unfortunately, the size and cost of even the smallest minicomputers has limited their use to relatively large and costly systems. Because of this, many smaller systems are fabricated with complex hardwire logic circuits. Recently developed microprocessor chips implemented using MOS technology and associated families using peripheral circuits now promise to bring a computing power of minicomputers, at much lower cost, to the many new areas and applications, including control functions such as numeric control, elevator control, highway and rail traffic control and process control. Such computers fabricated using MOS microprocessor chips may be referred to as microcomputers, and can be used as computer peripheral equipment control displays, keyboards, printers, readers, plotters, terminals, etc. Other applications for such microcomputer systems include computer systems and countless other applications within the fields of transportation, automotive uses, medical electronics, test systems, and many others.
The recent development of a "Microprocessor Unit" (MPU) which is fabricated in the form of a MOS monolithic integrated circuit, has made feasible a broad new range of digital control applications and has, concurrently, introduced a number of additional constraints which must be met for optimum system design of the stored program digital control systems which are based on the MPU. First, the cost and complexity of the hardware and programs required to work with associated peripheral units must be minimized. In conventional systems based on stored program digital computers, the cost and complexity of the hardware required for the system to interface with a given peripheral unit was usually a minor consideration when compared with the cost of the main system, systems based on use of integrated circuit microprocessors, however, are much lower in cost because of the economies of integrated circuit fabrication. In systems where an MPU is used to control a large number of peripherals, cost of the hardware, complexity of the interconnecting wiring and the quantity of memory required for program storage are often the dominant constraints. Second, systems utilizing an MPU must be designed to operate successfully without operator intervention. In conventional systems based on stored program digital computers, the availability of operator actions at key points in the overall operation of the system is generally assumed. When system operation is interrupted due to malfunction, such as failure of the system power, the general purpose digital computer system requires that an operator manually control the system via a control panel to perform the required functions of rewinding tapes, resetting discs, and reloading basic "bootstrap" programs via a computer control panel. In the case of MPU based systems, however, the typical application assumes operation in a remote location without an operator present and an optimum system design must make provisions for the system to reinitialize itself without the assistance of an operator and accomplish this reinitialization with a minimum of extra hardware and/or dedicated blocks of memory for special initializing programs. Third, MPU based systems must be organized to use a minimum number of wires in interconnecting to peripheral devices and must provide for expansion of the system in a modular fashion which satisfies the minimum wire constraint. In a system based on conventional stored program digital computers, the requirement for additional wires to provide the electrical signals required for address selection, control and interrupts for an additional peripheral device was not a major concern because it was relatively inexpensive to modify the printed circuit board structures used to fabricate the system in order to make available the required signals and to interconnect them via special wire. In MPU based systems, however, the total range of control signals available must be predetermined at the time of chip design and further, because of integrated circuit package costs, and the lower production yields associated with the larger packages required to accommodate larger numbers of integrate circuit pins, it is important that the total number of wires dedicated to communication with peripheral devices be kept at a minimum.
It is an object of the invention to provide a microprocessor system wherein memory or adaptors will not be inadvertently accessed when an invalid address is on the address bus.
Briefly described, the invention is a digital system including a processor, a memory and an adaptor coupled to an address bus, and logic circuitry for generating a signal indicative of whether any address on the address bus is valid. In one embodiment, the signal is used as an input to enable circuitry for generating an enable signal to enable the memory and the adaptor to be accessed by the processor only when the binary address on the address bus is valid with respect to the processor.